[INFO] cloning repository https://github.com/santoshsaroj0032/token_wallet
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/santoshsaroj0032/token_wallet" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsantoshsaroj0032%2Ftoken_wallet", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsantoshsaroj0032%2Ftoken_wallet'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d07a909265c307439877777e5a8013e43bbb204f
[INFO] checking santoshsaroj0032/token_wallet against try#a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399 for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsantoshsaroj0032%2Ftoken_wallet" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/santoshsaroj0032/token_wallet
[INFO] finished tweaking git repo https://github.com/santoshsaroj0032/token_wallet
[INFO] tweaked toml for git repo https://github.com/santoshsaroj0032/token_wallet written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/santoshsaroj0032/token_wallet on toolchain a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/santoshsaroj0032/token_wallet already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ffd6ab064bc2a68e89297a068304976e5050db4444d103d84d235b1b9791007a
[INFO] running `Command { std: "docker" "start" "-a" "ffd6ab064bc2a68e89297a068304976e5050db4444d103d84d235b1b9791007a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ffd6ab064bc2a68e89297a068304976e5050db4444d103d84d235b1b9791007a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ffd6ab064bc2a68e89297a068304976e5050db4444d103d84d235b1b9791007a", kill_on_drop: false }`
[INFO] [stdout] ffd6ab064bc2a68e89297a068304976e5050db4444d103d84d235b1b9791007a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b8a235c29bdf332042cb01547a8d1ce26125eccb07a21aed86fffce4f2a94a5c
[INFO] running `Command { std: "docker" "start" "-a" "b8a235c29bdf332042cb01547a8d1ce26125eccb07a21aed86fffce4f2a94a5c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling cc v1.0.104
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling cpufeatures v0.2.12
[INFO] [stderr]    Compiling syn v2.0.68
[INFO] [stderr]    Compiling crc32fast v1.4.2
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling psm v0.1.21
[INFO] [stderr]    Compiling stacker v0.1.15
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling unicode-width v0.1.13
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling data-encoding v2.6.0
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]    Compiling pretty v0.12.3
[INFO] [stderr]    Compiling leb128 v0.2.5
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling serde_json v1.0.120
[INFO] [stderr]     Checking ic0 v0.23.0
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]    Compiling binread_derive v2.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling candid_derive v0.6.6
[INFO] [stderr]    Compiling binread v2.2.0
[INFO] [stderr]     Checking ic_principal v0.1.1
[INFO] [stderr]     Checking serde_bytes v0.11.15
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling serde_tokenstream v0.2.1
[INFO] [stderr]     Checking candid v0.10.9
[INFO] [stderr]    Compiling ic-cdk-macros v0.15.0
[INFO] [stderr]     Checking ic-cdk v0.15.0
[INFO] [stderr]     Checking token_wallet v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: failed to resolve: could not find `export` in `ic_cdk`
[INFO] [stdout]  --> src/contract.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ic_cdk::export::candid::{CandidType, Deserialize};
[INFO] [stdout]   |             ^^^^^^ could not find `export` in `ic_cdk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `export` in `ic_cdk`
[INFO] [stdout]  --> src/contract.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ic_cdk::export::candid::{CandidType, Deserialize};
[INFO] [stdout]   |             ^^^^^^ could not find `export` in `ic_cdk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `export` in `ic_cdk`
[INFO] [stdout]  --> src/tests.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ic_cdk::export::candid::Principal;
[INFO] [stdout]   |             ^^^^^^ could not find `export` in `ic_cdk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `export` in `ic_cdk`
[INFO] [stdout]  --> src/tests.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ic_cdk::export::candid::Principal;
[INFO] [stdout]   |             ^^^^^^ could not find `export` in `ic_cdk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `candid` in the list of imported crates
[INFO] [stdout]   --> src/contract.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[init]
[INFO] [stdout]    | ^^^^^^^ could not find `candid` in the list of imported crates
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `init` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `candid` in the list of imported crates
[INFO] [stdout]   --> src/contract.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[init]
[INFO] [stdout]    | ^^^^^^^ could not find `candid` in the list of imported crates
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `init` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `candid` in the list of imported crates
[INFO] [stdout]   --> src/contract.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[update]
[INFO] [stdout]    | ^^^^^^^^^ could not find `candid` in the list of imported crates
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `update` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `candid` in the list of imported crates
[INFO] [stdout]   --> src/contract.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[update]
[INFO] [stdout]    | ^^^^^^^^^ could not find `candid` in the list of imported crates
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `update` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `candid` in the list of imported crates
[INFO] [stdout]   --> src/contract.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[query]
[INFO] [stdout]    | ^^^^^^^^ could not find `candid` in the list of imported crates
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `candid` in the list of imported crates
[INFO] [stdout]   --> src/contract.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[update]
[INFO] [stdout]    | ^^^^^^^^^ could not find `candid` in the list of imported crates
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `update` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `candid` in the list of imported crates
[INFO] [stdout]   --> src/contract.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[update]
[INFO] [stdout]    | ^^^^^^^^^ could not find `candid` in the list of imported crates
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `update` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `candid` in the list of imported crates
[INFO] [stdout]   --> src/contract.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[query]
[INFO] [stdout]    | ^^^^^^^^ could not find `candid` in the list of imported crates
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::contract::*`
[INFO] [stdout]  --> src/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::contract::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod tests;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `*wallets` as mutable more than once at a time
[INFO] [stdout]   --> src/contract.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let sender_wallet = wallets.get_mut(&from).ok_or("Sender wallet not found")?;
[INFO] [stdout]    |                             ------- first mutable borrow occurs here
[INFO] [stdout] 32 |         let receiver_wallet = wallets.get_mut(&to).ok_or("Receiver wallet not found")?;
[INFO] [stdout]    |                               ^^^^^^^ second mutable borrow occurs here
[INFO] [stdout] 33 |         
[INFO] [stdout] 34 |         if sender_wallet.balance < amount {
[INFO] [stdout]    |            --------------------- first borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0499.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_wallet` in this scope
[INFO] [stdout]   --> src/tests.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         create_wallet("test_wallet".into());
[INFO] [stdout]    |         ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::contract::create_wallet` exists but is inaccessible
[INFO] [stdout]   --> src/contract.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn create_wallet(address: String) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_balance` in this scope
[INFO] [stdout]   --> src/tests.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let balance = get_balance("test_wallet".into());
[INFO] [stdout]    |                       ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::contract::get_balance` exists but is inaccessible
[INFO] [stdout]   --> src/contract.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn get_balance(address: String) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_wallet` in this scope
[INFO] [stdout]   --> src/tests.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         create_wallet("wallet1".into());
[INFO] [stdout]    |         ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::contract::create_wallet` exists but is inaccessible
[INFO] [stdout]   --> src/contract.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn create_wallet(address: String) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_wallet` in this scope
[INFO] [stdout]   --> src/tests.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         create_wallet("wallet2".into());
[INFO] [stdout]    |         ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::contract::create_wallet` exists but is inaccessible
[INFO] [stdout]   --> src/contract.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn create_wallet(address: String) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `send_tokens` in this scope
[INFO] [stdout]   --> src/tests.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         send_tokens("wallet1".into(), "wallet1".into(), 100).unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::contract::send_tokens` exists but is inaccessible
[INFO] [stdout]   --> src/contract.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn send_tokens(from: String, to: String, amount: u64) -> Result<(), String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `send_tokens` in this scope
[INFO] [stdout]   --> src/tests.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         send_tokens("wallet1".into(), "wallet2".into(), 50).unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::contract::send_tokens` exists but is inaccessible
[INFO] [stdout]   --> src/contract.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn send_tokens(from: String, to: String, amount: u64) -> Result<(), String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_balance` in this scope
[INFO] [stdout]   --> src/tests.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let balance1 = get_balance("wallet1".into());
[INFO] [stdout]    |                        ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::contract::get_balance` exists but is inaccessible
[INFO] [stdout]   --> src/contract.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn get_balance(address: String) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_balance` in this scope
[INFO] [stdout]   --> src/tests.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let balance2 = get_balance("wallet2".into());
[INFO] [stdout]    |                        ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::contract::get_balance` exists but is inaccessible
[INFO] [stdout]   --> src/contract.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn get_balance(address: String) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `token_wallet` (lib) due to 7 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `super::contract::*`
[INFO] [stdout]  --> src/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::contract::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/tests.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `*wallets` as mutable more than once at a time
[INFO] [stdout]   --> src/contract.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let sender_wallet = wallets.get_mut(&from).ok_or("Sender wallet not found")?;
[INFO] [stdout]    |                             ------- first mutable borrow occurs here
[INFO] [stdout] 32 |         let receiver_wallet = wallets.get_mut(&to).ok_or("Receiver wallet not found")?;
[INFO] [stdout]    |                               ^^^^^^^ second mutable borrow occurs here
[INFO] [stdout] 33 |         
[INFO] [stdout] 34 |         if sender_wallet.balance < amount {
[INFO] [stdout]    |            --------------------- first borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0499.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `token_wallet` (lib test) due to 15 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b8a235c29bdf332042cb01547a8d1ce26125eccb07a21aed86fffce4f2a94a5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8a235c29bdf332042cb01547a8d1ce26125eccb07a21aed86fffce4f2a94a5c", kill_on_drop: false }`
[INFO] [stdout] b8a235c29bdf332042cb01547a8d1ce26125eccb07a21aed86fffce4f2a94a5c
